package com.token.model.vo;

import com.token.annotation.DecryptField;
import com.token.annotation.PrivacyEncrypt;
import com.token.enums.PrivacyTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @auther: henriy
 * @Date: 2023/11/29
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UsersVO {

    /**
     * 用户名
     */
    private String userName;

    /**
     * 密码
     */
    private String password;

    /**
     * 姓名
     */
    private String name;

    /**
     * 邮箱
     */
    @DecryptField
    @PrivacyEncrypt(type = PrivacyTypeEnum.EMAIL)
    private String email;

    /**
     * 住址
     */
    @DecryptField
    @PrivacyEncrypt(type = PrivacyTypeEnum.ADDRESS)
    private String address;

    /**
     * 手机号
     */
    @DecryptField
    @PrivacyEncrypt(type = PrivacyTypeEnum.PHONE)
    private String phone;

    /**
     * 身份证
     */
    @DecryptField
    @PrivacyEncrypt(type = PrivacyTypeEnum.ID_CARD)
    private String idCard;

    /**
     * 银行卡
     */
    @DecryptField
    @PrivacyEncrypt(type = PrivacyTypeEnum.BANK_CARD)
    private String bankCard;

    /**
     * 车辆vin码
     */
    @DecryptField
    @PrivacyEncrypt(type = PrivacyTypeEnum.VEHICLE_VIN)
    private String vin;

}
